gl renderer: Don't add clip ops if the clip didn't change
authorTimm Bäder <mail@baedert.org>
Thu, 17 Jan 2019 07:22:00 +0000 (08:22 +0100)
committerTimm Bäder <mail@baedert.org>
Fri, 18 Jan 2019 18:40:49 +0000 (19:40 +0100)
gsk/gl/gskglrenderops.c

index 86b44e06e2170eb9ddf04f169dd142bf91cac0c6..9fbc9ec40525269a5447c708fb1760e66b64db0f 100644 (file)
@@ -233,6 +233,10 @@ ops_set_clip (RenderOpBuilder      *builder,
 {
   RenderOp *last_op;
 
+  if (builder->current_program_state &&
+      memcmp (&builder->current_program_state->clip, clip,sizeof (GskRoundedRect)) == 0)
+    return;
+
   if (builder->render_ops->len > 0)
     {
       last_op = &g_array_index (builder->render_ops, RenderOp, builder->render_ops->len - 1);